/**
 * @description: Login interface parameters
 */
export interface LoginParams {
  account?: string | null
  password?: string | null
  phone?: string | null
  email?: string | null
  // 第三方授权登录的协议
  protocol?: string | null
  // 消息验证码
  messageCode?: string | null
  captchaValue?: string | null
  captchaType?: string | null
  captchaToken?: string | null
}

export interface ThirdLoginParams {
  clientId: string
  grantType: string
}

export interface RoleInfo {
  roleName: string
  value: string
}

export interface UserInfo {
  id: string | number
  isLogin?: boolean
  userName: string
  realName: string
  avatar: string
  desc?: string
  homePath?: string
  tenantId?: string | number
  roles: RoleInfo[]
  currentTenantId: string
  currentUserPoolId: string
  currentAppId: string
  // 当前选择的服务
  currentServiceCode?: string
  email: string
  phone: string
}

/**
 * @description: Get user information return value
 */
export interface GetUserInfoModel {
  roles: any

  multiDept?: string | number | boolean
  userInfo?: UserInfo
  deptList?: []
  tenant: {}
  // 缓存字典项
  sysAllDictItems?: any
}

/**
 * @description: Get user information return value
 */
export interface GetResultModel {
  code: number
  message: string
  result: object
  success: Boolean
}
